package cn.iocoder.yudao.module.member.controller.admin.company.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 企业分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class CompanyPageReqVO extends PageParam {

    @Schema(description = "企业名称", example = "王五")
    private String companyName;

    @Schema(description = "企业logo", example = "https://www.iocoder.cn")
    private String logoUrl;

    @Schema(description = "所属行业")
    private String industry;

    @Schema(description = "企业类型")
    private String companyNature;
    private List<String> companyNatures;

    @Schema(description = "企业规模")
    private String companyScale;

    @Schema(description = "企业福利")
    private String companyWelfare;

    @Schema(description = "精准筛选学历多选")
    private String minEducations;
    private List<String> minEducation;

    @Schema(description = "联系人")
    private String contacts;

    @Schema(description = "联系电话")
    private String phone;

    @Schema(description = "企业邮箱")
    private String mail;

    @Schema(description = "省ID", example = "2569")
    private Long provinceId;

    @Schema(description = "省名称", example = "李四")
    private String provinceName;

    @Schema(description = "市id", example = "19917")
    private Long cityId;

    @Schema(description = "市名称", example = "李四")
    private String cityName;

    @Schema(description = "区ID", example = "8533")
    private Long districtId;

    @Schema(description = "区名称", example = "王五")
    private String districtName;

    @Schema(description = "详细地址")
    private String address;

    @Schema(description = "企业简介")
    private String companyProfile;

    @Schema(description = "是否为优质雇主  0否 1是")
    private Boolean superEmployer;

    @Schema(description = "招聘截止")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] hireTime;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "岗位开启时间 今天：today，近三天：threeDays，近一周：oneWeek，近一个月：oneMonth，近三个月：threeMonths，不限：unlimited")
    private String timeRange;

    @Schema(description = "岗位类型", example = "张三")
    private String jobType;

    private List<String> jobTypes;
    @Schema(description = "关键词", example = "张三")
    private String name;

    @Schema(description = "专业名称", example = "李四")
    private String majorName;
    @Schema(description = "岗位状态", example = "李四")
    private String positionStatus;

}